Many modern computing devices utilize web applications that are executable across multiple platforms. For example, web applications written in JavaScript or another scripting language are executable through a web browser or other web-enabled system component. For client-side web applications, the web-enabled component downloads the web application from a remote server and executes the downloaded application within the web-enabled component. For example, interaction between the web application and native hardware and software of the computing device is handled by the web-enabled component. Web applications are used to provide users with many different functionalities including, for example, shopping, gaming, etc.
When a user attempts to launch a web application on a computing device, the device determines whether a suitable web-enabled component, for example a web browser or web view, is executing. If not, the computing device first launches a web-enabled component and then uses the web-enabled component to download and execute the web application. Web-enabled components are often “heavyweight” software components that utilize significant amounts of memory, buffers and other system resources. For this reason, they can take an extended period of time to launch and initialize. If a web-enabled component is not already running when the web application is launched, this can result in noticeable and undesirable launch delays.